package busquedas;

import java.math.BigDecimal;

import asientos.Vuelo;

public class FiltroOpcionalPrecio extends DecoradorFiltroOpcional {
	private double precioMinimo;
	private double precioMaximo;

	/* *************************************************
	 * CONSTRUCTORS
	 **************************************************/
	
	public FiltroOpcionalPrecio(double unPrecioMinimo,double unPrecioMaximo, FiltroOpcional unFiltroOpcional){
		this.setFiltroOpcional(unFiltroOpcional);
		this.setPrecioMaximo(unPrecioMaximo);
		this.setPrecioMinimo(unPrecioMinimo);
	}
	
	/* *************************************************
	 * ACCESSORS
	 **************************************************/

	public void setPrecioMinimo(double unPrecioMinimo) {
		this.precioMinimo = unPrecioMinimo;
	}

	public double getPrecioMinimo() {
		return precioMinimo;
	}

	public void setPrecioMaximo(double unPrecioMaximo) {
		this.precioMaximo = unPrecioMaximo;
	}

	public double getPrecioMaximo() {
		return precioMaximo;
	}


	/*****************************************************
	 * 
	 *****************************************************/	

	protected boolean aplicaElFiltro(Vuelo vuelo){
		return(elPrecioEsDeseado(vuelo.getPrecio()));		
	}
	
	
	private Boolean elPrecioEsDeseado(BigDecimal precioDeUnAsiento){
		return(precioDeUnAsiento.doubleValue()>= this.precioMinimo) && (precioDeUnAsiento.doubleValue()<= this.precioMaximo);
		
	}
}
